package my_IO;

import java.io.FileInputStream;
import java.io.IOException;
//我为CPU/屏幕，他是磁盘/网络，
//file只能获取文件的属性信息，不支持读取汉字，支持读取字节码，
// 获取文件的内容信息需要FileInputStream，
//主语是cpu，将文件从磁盘入体，
public class My_FileInputStream {

    void testFIS_read(String path){
        // 定义一个FileInputStream类型的变量
        FileInputStream fi = null;
        try {
            // 利用路径创建一个FileInputStream类型的对象
            fi = new FileInputStream(path);
            // 从流对象中读取内容——————————————————读取一个字节，测试是最后一个字符，
            int value1 = fi.read();
            System.out.println("文件中的内容是：" + (char) value1);
            byte[] b= new byte[10];
            int value2 = fi.read(b);
            System.out.println("文件中的内容是：" + (char) value2);
            //读取到字节数组，但不是字符，是乱码，不可读，
            for (byte bt:b
                 ) {
                System.out.println(bt);
                System.out.println((char)bt);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                // 关闭流对象
                if(fi != null){
                    fi.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        String path = "d:\\develop\\test\\test.txt";
        My_FileInputStream m=new My_FileInputStream();
        m.testFIS_read(path);
    }
}
